package com.fyx.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fyx.entity.*;
import org.springframework.data.domain.Pageable;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface IGameDataService extends IService<SysDictDetail> {

    Map GamesRoundInfo(GamesInfoEntity gamesInfoEntity, Pageable pageable);

    Map getOnlineList(ActiveDataEntity activeDataEntity, Pageable pageable);

    Map getOnlineLists(ActiveDataEntity activeDataEntity, Pageable pageable);

    Map getOnlineUserList(OnlineUserInfoEntity onlineUserInfoEntity, Pageable pageable);

    Map gameUser(UserEntity userEntity, Pageable pageable);

    void sendEmail(CheckListEntity checkListEntity);

    void forbidUser(UserEntity userEntity) throws IOException;

    void openUser(String userid,String flag) throws IOException;

    void frame(String userid,int frame) throws IOException;

    void signUser(UserEntity userEntity) throws IOException;

    void cancelSign(UserEntity userEntity) throws IOException;

    void inningsLimit(UserEntity userEntity) throws IOException;

    Map goldRecord(GoldRecEntity goldRecEntity, Pageable pageable);

    Map diamondRecord(DiamondRecEntity diamondRecEntity, Pageable pageable);

    Map dimondCount(DiamondCount diamondCount, Pageable pageable);

    Map propsCount(UserEntity userEntity, Pageable pageable);

    Map bankGoldRecord(BankGoldRecEntity bankGoldRecEntity, Pageable pageable);

    Map bankInfo(BankInfoEntity bankInfoEntity, Pageable pageable);

    Map propsRecord(PropsRecEntity propsRecEntity, Pageable pageable);

    Map bindPlayers(BindPlayer bindPlayer, Pageable pageable);

    Map signPlayers(UserEntity userEntity, Pageable pageable) throws IOException;

    Map getRoomsList(RoomsUserInfo roomsUserInfo,Pageable pageable)throws IOException;

    List<RoomsUserInfo> getRoomsList( Integer time,String channel);

    Map getPlayerNumber(PlayerNumber playerNumber,Pageable pageable)throws IOException;

    void cancelUser(UserEntity userEntity) throws IOException;

    String robotSwitch() throws IOException;

    void inningsWin(JSONObject jsonObject) throws IOException;

    void markGold(UserEntity userEntity) throws IOException;

    Map gameUser4(UserEntity userEntity, Pageable pageable);

    boolean updateGameUser(User1Entity userEntity);

    User1Entity gameOneUser(User1Entity userEntity);

    List<ShareSeat> getShareSeat(Integer time);

    Map getShareSeat(ShareSeat shareSeat,Pageable pageable)throws IOException;

    Map getBrokeList(BrokeInfo brokeInfo, Pageable pageable);

    Map getAvgUserInfo(AvgUserDayInfo avgUserDayInfo, Pageable pageable);

    Map getChargeUserRateLtvInfo(UserPayRateInfo userPayRateInfo, Pageable pageable);

    List<BrokeInfo> getBrokeList( Integer time,String channel);
}
